package com.young.domain.order;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class SysOrderExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public SysOrderExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOrderIdIsNull() {
            addCriterion("order_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNotNull() {
            addCriterion("order_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualTo(Long value) {
            addCriterion("order_id =", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualTo(Long value) {
            addCriterion("order_id <>", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThan(Long value) {
            addCriterion("order_id >", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualTo(Long value) {
            addCriterion("order_id >=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThan(Long value) {
            addCriterion("order_id <", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualTo(Long value) {
            addCriterion("order_id <=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIn(List<Long> values) {
            addCriterion("order_id in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotIn(List<Long> values) {
            addCriterion("order_id not in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdBetween(Long value1, Long value2) {
            addCriterion("order_id between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotBetween(Long value1, Long value2) {
            addCriterion("order_id not between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNull() {
            addCriterion("shop_id is null");
            return (Criteria) this;
        }

        public Criteria andShopIdIsNotNull() {
            addCriterion("shop_id is not null");
            return (Criteria) this;
        }

        public Criteria andShopIdEqualTo(Long value) {
            addCriterion("shop_id =", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotEqualTo(Long value) {
            addCriterion("shop_id <>", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThan(Long value) {
            addCriterion("shop_id >", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdGreaterThanOrEqualTo(Long value) {
            addCriterion("shop_id >=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThan(Long value) {
            addCriterion("shop_id <", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdLessThanOrEqualTo(Long value) {
            addCriterion("shop_id <=", value, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdIn(List<Long> values) {
            addCriterion("shop_id in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotIn(List<Long> values) {
            addCriterion("shop_id not in", values, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdBetween(Long value1, Long value2) {
            addCriterion("shop_id between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andShopIdNotBetween(Long value1, Long value2) {
            addCriterion("shop_id not between", value1, value2, "shopId");
            return (Criteria) this;
        }

        public Criteria andProdNameIsNull() {
            addCriterion("prod_name is null");
            return (Criteria) this;
        }

        public Criteria andProdNameIsNotNull() {
            addCriterion("prod_name is not null");
            return (Criteria) this;
        }

        public Criteria andProdNameEqualTo(String value) {
            addCriterion("prod_name =", value, "prodName");
            return (Criteria) this;
        }

        public Criteria andProdNameNotEqualTo(String value) {
            addCriterion("prod_name <>", value, "prodName");
            return (Criteria) this;
        }

        public Criteria andProdNameGreaterThan(String value) {
            addCriterion("prod_name >", value, "prodName");
            return (Criteria) this;
        }

        public Criteria andProdNameGreaterThanOrEqualTo(String value) {
            addCriterion("prod_name >=", value, "prodName");
            return (Criteria) this;
        }

        public Criteria andProdNameLessThan(String value) {
            addCriterion("prod_name <", value, "prodName");
            return (Criteria) this;
        }

        public Criteria andProdNameLessThanOrEqualTo(String value) {
            addCriterion("prod_name <=", value, "prodName");
            return (Criteria) this;
        }

        public Criteria andProdNameLike(String value) {
            addCriterion("prod_name like", value, "prodName");
            return (Criteria) this;
        }

        public Criteria andProdNameNotLike(String value) {
            addCriterion("prod_name not like", value, "prodName");
            return (Criteria) this;
        }

        public Criteria andProdNameIn(List<String> values) {
            addCriterion("prod_name in", values, "prodName");
            return (Criteria) this;
        }

        public Criteria andProdNameNotIn(List<String> values) {
            addCriterion("prod_name not in", values, "prodName");
            return (Criteria) this;
        }

        public Criteria andProdNameBetween(String value1, String value2) {
            addCriterion("prod_name between", value1, value2, "prodName");
            return (Criteria) this;
        }

        public Criteria andProdNameNotBetween(String value1, String value2) {
            addCriterion("prod_name not between", value1, value2, "prodName");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(String value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(String value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(String value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(String value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(String value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLike(String value) {
            addCriterion("user_id like", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotLike(String value) {
            addCriterion("user_id not like", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<String> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<String> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(String value1, String value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(String value1, String value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIsNull() {
            addCriterion("order_number is null");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIsNotNull() {
            addCriterion("order_number is not null");
            return (Criteria) this;
        }

        public Criteria andOrderNumberEqualTo(String value) {
            addCriterion("order_number =", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotEqualTo(String value) {
            addCriterion("order_number <>", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThan(String value) {
            addCriterion("order_number >", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberGreaterThanOrEqualTo(String value) {
            addCriterion("order_number >=", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThan(String value) {
            addCriterion("order_number <", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLessThanOrEqualTo(String value) {
            addCriterion("order_number <=", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberLike(String value) {
            addCriterion("order_number like", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotLike(String value) {
            addCriterion("order_number not like", value, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberIn(List<String> values) {
            addCriterion("order_number in", values, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotIn(List<String> values) {
            addCriterion("order_number not in", values, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberBetween(String value1, String value2) {
            addCriterion("order_number between", value1, value2, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andOrderNumberNotBetween(String value1, String value2) {
            addCriterion("order_number not between", value1, value2, "orderNumber");
            return (Criteria) this;
        }

        public Criteria andTotalIsNull() {
            addCriterion("total is null");
            return (Criteria) this;
        }

        public Criteria andTotalIsNotNull() {
            addCriterion("total is not null");
            return (Criteria) this;
        }

        public Criteria andTotalEqualTo(BigDecimal value) {
            addCriterion("total =", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalNotEqualTo(BigDecimal value) {
            addCriterion("total <>", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalGreaterThan(BigDecimal value) {
            addCriterion("total >", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("total >=", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalLessThan(BigDecimal value) {
            addCriterion("total <", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalLessThanOrEqualTo(BigDecimal value) {
            addCriterion("total <=", value, "total");
            return (Criteria) this;
        }

        public Criteria andTotalIn(List<BigDecimal> values) {
            addCriterion("total in", values, "total");
            return (Criteria) this;
        }

        public Criteria andTotalNotIn(List<BigDecimal> values) {
            addCriterion("total not in", values, "total");
            return (Criteria) this;
        }

        public Criteria andTotalBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total between", value1, value2, "total");
            return (Criteria) this;
        }

        public Criteria andTotalNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("total not between", value1, value2, "total");
            return (Criteria) this;
        }

        public Criteria andActualTotalIsNull() {
            addCriterion("actual_total is null");
            return (Criteria) this;
        }

        public Criteria andActualTotalIsNotNull() {
            addCriterion("actual_total is not null");
            return (Criteria) this;
        }

        public Criteria andActualTotalEqualTo(BigDecimal value) {
            addCriterion("actual_total =", value, "actualTotal");
            return (Criteria) this;
        }

        public Criteria andActualTotalNotEqualTo(BigDecimal value) {
            addCriterion("actual_total <>", value, "actualTotal");
            return (Criteria) this;
        }

        public Criteria andActualTotalGreaterThan(BigDecimal value) {
            addCriterion("actual_total >", value, "actualTotal");
            return (Criteria) this;
        }

        public Criteria andActualTotalGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("actual_total >=", value, "actualTotal");
            return (Criteria) this;
        }

        public Criteria andActualTotalLessThan(BigDecimal value) {
            addCriterion("actual_total <", value, "actualTotal");
            return (Criteria) this;
        }

        public Criteria andActualTotalLessThanOrEqualTo(BigDecimal value) {
            addCriterion("actual_total <=", value, "actualTotal");
            return (Criteria) this;
        }

        public Criteria andActualTotalIn(List<BigDecimal> values) {
            addCriterion("actual_total in", values, "actualTotal");
            return (Criteria) this;
        }

        public Criteria andActualTotalNotIn(List<BigDecimal> values) {
            addCriterion("actual_total not in", values, "actualTotal");
            return (Criteria) this;
        }

        public Criteria andActualTotalBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("actual_total between", value1, value2, "actualTotal");
            return (Criteria) this;
        }

        public Criteria andActualTotalNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("actual_total not between", value1, value2, "actualTotal");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNull() {
            addCriterion("pay_type is null");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNotNull() {
            addCriterion("pay_type is not null");
            return (Criteria) this;
        }

        public Criteria andPayTypeEqualTo(Integer value) {
            addCriterion("pay_type =", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotEqualTo(Integer value) {
            addCriterion("pay_type <>", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThan(Integer value) {
            addCriterion("pay_type >", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("pay_type >=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThan(Integer value) {
            addCriterion("pay_type <", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThanOrEqualTo(Integer value) {
            addCriterion("pay_type <=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeIn(List<Integer> values) {
            addCriterion("pay_type in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotIn(List<Integer> values) {
            addCriterion("pay_type not in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeBetween(Integer value1, Integer value2) {
            addCriterion("pay_type between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("pay_type not between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Integer value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Integer value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Integer value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Integer value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Integer value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Integer> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Integer> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Integer value1, Integer value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andDvyTypeIsNull() {
            addCriterion("dvy_type is null");
            return (Criteria) this;
        }

        public Criteria andDvyTypeIsNotNull() {
            addCriterion("dvy_type is not null");
            return (Criteria) this;
        }

        public Criteria andDvyTypeEqualTo(String value) {
            addCriterion("dvy_type =", value, "dvyType");
            return (Criteria) this;
        }

        public Criteria andDvyTypeNotEqualTo(String value) {
            addCriterion("dvy_type <>", value, "dvyType");
            return (Criteria) this;
        }

        public Criteria andDvyTypeGreaterThan(String value) {
            addCriterion("dvy_type >", value, "dvyType");
            return (Criteria) this;
        }

        public Criteria andDvyTypeGreaterThanOrEqualTo(String value) {
            addCriterion("dvy_type >=", value, "dvyType");
            return (Criteria) this;
        }

        public Criteria andDvyTypeLessThan(String value) {
            addCriterion("dvy_type <", value, "dvyType");
            return (Criteria) this;
        }

        public Criteria andDvyTypeLessThanOrEqualTo(String value) {
            addCriterion("dvy_type <=", value, "dvyType");
            return (Criteria) this;
        }

        public Criteria andDvyTypeLike(String value) {
            addCriterion("dvy_type like", value, "dvyType");
            return (Criteria) this;
        }

        public Criteria andDvyTypeNotLike(String value) {
            addCriterion("dvy_type not like", value, "dvyType");
            return (Criteria) this;
        }

        public Criteria andDvyTypeIn(List<String> values) {
            addCriterion("dvy_type in", values, "dvyType");
            return (Criteria) this;
        }

        public Criteria andDvyTypeNotIn(List<String> values) {
            addCriterion("dvy_type not in", values, "dvyType");
            return (Criteria) this;
        }

        public Criteria andDvyTypeBetween(String value1, String value2) {
            addCriterion("dvy_type between", value1, value2, "dvyType");
            return (Criteria) this;
        }

        public Criteria andDvyTypeNotBetween(String value1, String value2) {
            addCriterion("dvy_type not between", value1, value2, "dvyType");
            return (Criteria) this;
        }

        public Criteria andDvyIdIsNull() {
            addCriterion("dvy_id is null");
            return (Criteria) this;
        }

        public Criteria andDvyIdIsNotNull() {
            addCriterion("dvy_id is not null");
            return (Criteria) this;
        }

        public Criteria andDvyIdEqualTo(Long value) {
            addCriterion("dvy_id =", value, "dvyId");
            return (Criteria) this;
        }

        public Criteria andDvyIdNotEqualTo(Long value) {
            addCriterion("dvy_id <>", value, "dvyId");
            return (Criteria) this;
        }

        public Criteria andDvyIdGreaterThan(Long value) {
            addCriterion("dvy_id >", value, "dvyId");
            return (Criteria) this;
        }

        public Criteria andDvyIdGreaterThanOrEqualTo(Long value) {
            addCriterion("dvy_id >=", value, "dvyId");
            return (Criteria) this;
        }

        public Criteria andDvyIdLessThan(Long value) {
            addCriterion("dvy_id <", value, "dvyId");
            return (Criteria) this;
        }

        public Criteria andDvyIdLessThanOrEqualTo(Long value) {
            addCriterion("dvy_id <=", value, "dvyId");
            return (Criteria) this;
        }

        public Criteria andDvyIdIn(List<Long> values) {
            addCriterion("dvy_id in", values, "dvyId");
            return (Criteria) this;
        }

        public Criteria andDvyIdNotIn(List<Long> values) {
            addCriterion("dvy_id not in", values, "dvyId");
            return (Criteria) this;
        }

        public Criteria andDvyIdBetween(Long value1, Long value2) {
            addCriterion("dvy_id between", value1, value2, "dvyId");
            return (Criteria) this;
        }

        public Criteria andDvyIdNotBetween(Long value1, Long value2) {
            addCriterion("dvy_id not between", value1, value2, "dvyId");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdIsNull() {
            addCriterion("dvy_flow_id is null");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdIsNotNull() {
            addCriterion("dvy_flow_id is not null");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdEqualTo(String value) {
            addCriterion("dvy_flow_id =", value, "dvyFlowId");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdNotEqualTo(String value) {
            addCriterion("dvy_flow_id <>", value, "dvyFlowId");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdGreaterThan(String value) {
            addCriterion("dvy_flow_id >", value, "dvyFlowId");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdGreaterThanOrEqualTo(String value) {
            addCriterion("dvy_flow_id >=", value, "dvyFlowId");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdLessThan(String value) {
            addCriterion("dvy_flow_id <", value, "dvyFlowId");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdLessThanOrEqualTo(String value) {
            addCriterion("dvy_flow_id <=", value, "dvyFlowId");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdLike(String value) {
            addCriterion("dvy_flow_id like", value, "dvyFlowId");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdNotLike(String value) {
            addCriterion("dvy_flow_id not like", value, "dvyFlowId");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdIn(List<String> values) {
            addCriterion("dvy_flow_id in", values, "dvyFlowId");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdNotIn(List<String> values) {
            addCriterion("dvy_flow_id not in", values, "dvyFlowId");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdBetween(String value1, String value2) {
            addCriterion("dvy_flow_id between", value1, value2, "dvyFlowId");
            return (Criteria) this;
        }

        public Criteria andDvyFlowIdNotBetween(String value1, String value2) {
            addCriterion("dvy_flow_id not between", value1, value2, "dvyFlowId");
            return (Criteria) this;
        }

        public Criteria andFreightAmountIsNull() {
            addCriterion("freight_amount is null");
            return (Criteria) this;
        }

        public Criteria andFreightAmountIsNotNull() {
            addCriterion("freight_amount is not null");
            return (Criteria) this;
        }

        public Criteria andFreightAmountEqualTo(BigDecimal value) {
            addCriterion("freight_amount =", value, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountNotEqualTo(BigDecimal value) {
            addCriterion("freight_amount <>", value, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountGreaterThan(BigDecimal value) {
            addCriterion("freight_amount >", value, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("freight_amount >=", value, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountLessThan(BigDecimal value) {
            addCriterion("freight_amount <", value, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("freight_amount <=", value, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountIn(List<BigDecimal> values) {
            addCriterion("freight_amount in", values, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountNotIn(List<BigDecimal> values) {
            addCriterion("freight_amount not in", values, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("freight_amount between", value1, value2, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andFreightAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("freight_amount not between", value1, value2, "freightAmount");
            return (Criteria) this;
        }

        public Criteria andAddrOrderIdIsNull() {
            addCriterion("addr_order_id is null");
            return (Criteria) this;
        }

        public Criteria andAddrOrderIdIsNotNull() {
            addCriterion("addr_order_id is not null");
            return (Criteria) this;
        }

        public Criteria andAddrOrderIdEqualTo(Long value) {
            addCriterion("addr_order_id =", value, "addrOrderId");
            return (Criteria) this;
        }

        public Criteria andAddrOrderIdNotEqualTo(Long value) {
            addCriterion("addr_order_id <>", value, "addrOrderId");
            return (Criteria) this;
        }

        public Criteria andAddrOrderIdGreaterThan(Long value) {
            addCriterion("addr_order_id >", value, "addrOrderId");
            return (Criteria) this;
        }

        public Criteria andAddrOrderIdGreaterThanOrEqualTo(Long value) {
            addCriterion("addr_order_id >=", value, "addrOrderId");
            return (Criteria) this;
        }

        public Criteria andAddrOrderIdLessThan(Long value) {
            addCriterion("addr_order_id <", value, "addrOrderId");
            return (Criteria) this;
        }

        public Criteria andAddrOrderIdLessThanOrEqualTo(Long value) {
            addCriterion("addr_order_id <=", value, "addrOrderId");
            return (Criteria) this;
        }

        public Criteria andAddrOrderIdIn(List<Long> values) {
            addCriterion("addr_order_id in", values, "addrOrderId");
            return (Criteria) this;
        }

        public Criteria andAddrOrderIdNotIn(List<Long> values) {
            addCriterion("addr_order_id not in", values, "addrOrderId");
            return (Criteria) this;
        }

        public Criteria andAddrOrderIdBetween(Long value1, Long value2) {
            addCriterion("addr_order_id between", value1, value2, "addrOrderId");
            return (Criteria) this;
        }

        public Criteria andAddrOrderIdNotBetween(Long value1, Long value2) {
            addCriterion("addr_order_id not between", value1, value2, "addrOrderId");
            return (Criteria) this;
        }

        public Criteria andProductNumsIsNull() {
            addCriterion("product_nums is null");
            return (Criteria) this;
        }

        public Criteria andProductNumsIsNotNull() {
            addCriterion("product_nums is not null");
            return (Criteria) this;
        }

        public Criteria andProductNumsEqualTo(Integer value) {
            addCriterion("product_nums =", value, "productNums");
            return (Criteria) this;
        }

        public Criteria andProductNumsNotEqualTo(Integer value) {
            addCriterion("product_nums <>", value, "productNums");
            return (Criteria) this;
        }

        public Criteria andProductNumsGreaterThan(Integer value) {
            addCriterion("product_nums >", value, "productNums");
            return (Criteria) this;
        }

        public Criteria andProductNumsGreaterThanOrEqualTo(Integer value) {
            addCriterion("product_nums >=", value, "productNums");
            return (Criteria) this;
        }

        public Criteria andProductNumsLessThan(Integer value) {
            addCriterion("product_nums <", value, "productNums");
            return (Criteria) this;
        }

        public Criteria andProductNumsLessThanOrEqualTo(Integer value) {
            addCriterion("product_nums <=", value, "productNums");
            return (Criteria) this;
        }

        public Criteria andProductNumsIn(List<Integer> values) {
            addCriterion("product_nums in", values, "productNums");
            return (Criteria) this;
        }

        public Criteria andProductNumsNotIn(List<Integer> values) {
            addCriterion("product_nums not in", values, "productNums");
            return (Criteria) this;
        }

        public Criteria andProductNumsBetween(Integer value1, Integer value2) {
            addCriterion("product_nums between", value1, value2, "productNums");
            return (Criteria) this;
        }

        public Criteria andProductNumsNotBetween(Integer value1, Integer value2) {
            addCriterion("product_nums not between", value1, value2, "productNums");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeIsNull() {
            addCriterion("pay_time is null");
            return (Criteria) this;
        }

        public Criteria andPayTimeIsNotNull() {
            addCriterion("pay_time is not null");
            return (Criteria) this;
        }

        public Criteria andPayTimeEqualTo(Date value) {
            addCriterion("pay_time =", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotEqualTo(Date value) {
            addCriterion("pay_time <>", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeGreaterThan(Date value) {
            addCriterion("pay_time >", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("pay_time >=", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeLessThan(Date value) {
            addCriterion("pay_time <", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeLessThanOrEqualTo(Date value) {
            addCriterion("pay_time <=", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeIn(List<Date> values) {
            addCriterion("pay_time in", values, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotIn(List<Date> values) {
            addCriterion("pay_time not in", values, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeBetween(Date value1, Date value2) {
            addCriterion("pay_time between", value1, value2, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotBetween(Date value1, Date value2) {
            addCriterion("pay_time not between", value1, value2, "payTime");
            return (Criteria) this;
        }

        public Criteria andDvyTimeIsNull() {
            addCriterion("dvy_time is null");
            return (Criteria) this;
        }

        public Criteria andDvyTimeIsNotNull() {
            addCriterion("dvy_time is not null");
            return (Criteria) this;
        }

        public Criteria andDvyTimeEqualTo(Date value) {
            addCriterion("dvy_time =", value, "dvyTime");
            return (Criteria) this;
        }

        public Criteria andDvyTimeNotEqualTo(Date value) {
            addCriterion("dvy_time <>", value, "dvyTime");
            return (Criteria) this;
        }

        public Criteria andDvyTimeGreaterThan(Date value) {
            addCriterion("dvy_time >", value, "dvyTime");
            return (Criteria) this;
        }

        public Criteria andDvyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("dvy_time >=", value, "dvyTime");
            return (Criteria) this;
        }

        public Criteria andDvyTimeLessThan(Date value) {
            addCriterion("dvy_time <", value, "dvyTime");
            return (Criteria) this;
        }

        public Criteria andDvyTimeLessThanOrEqualTo(Date value) {
            addCriterion("dvy_time <=", value, "dvyTime");
            return (Criteria) this;
        }

        public Criteria andDvyTimeIn(List<Date> values) {
            addCriterion("dvy_time in", values, "dvyTime");
            return (Criteria) this;
        }

        public Criteria andDvyTimeNotIn(List<Date> values) {
            addCriterion("dvy_time not in", values, "dvyTime");
            return (Criteria) this;
        }

        public Criteria andDvyTimeBetween(Date value1, Date value2) {
            addCriterion("dvy_time between", value1, value2, "dvyTime");
            return (Criteria) this;
        }

        public Criteria andDvyTimeNotBetween(Date value1, Date value2) {
            addCriterion("dvy_time not between", value1, value2, "dvyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeIsNull() {
            addCriterion("finally_time is null");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeIsNotNull() {
            addCriterion("finally_time is not null");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeEqualTo(Date value) {
            addCriterion("finally_time =", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeNotEqualTo(Date value) {
            addCriterion("finally_time <>", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeGreaterThan(Date value) {
            addCriterion("finally_time >", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("finally_time >=", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeLessThan(Date value) {
            addCriterion("finally_time <", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeLessThanOrEqualTo(Date value) {
            addCriterion("finally_time <=", value, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeIn(List<Date> values) {
            addCriterion("finally_time in", values, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeNotIn(List<Date> values) {
            addCriterion("finally_time not in", values, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeBetween(Date value1, Date value2) {
            addCriterion("finally_time between", value1, value2, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andFinallyTimeNotBetween(Date value1, Date value2) {
            addCriterion("finally_time not between", value1, value2, "finallyTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeIsNull() {
            addCriterion("cancel_time is null");
            return (Criteria) this;
        }

        public Criteria andCancelTimeIsNotNull() {
            addCriterion("cancel_time is not null");
            return (Criteria) this;
        }

        public Criteria andCancelTimeEqualTo(Date value) {
            addCriterion("cancel_time =", value, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeNotEqualTo(Date value) {
            addCriterion("cancel_time <>", value, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeGreaterThan(Date value) {
            addCriterion("cancel_time >", value, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("cancel_time >=", value, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeLessThan(Date value) {
            addCriterion("cancel_time <", value, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeLessThanOrEqualTo(Date value) {
            addCriterion("cancel_time <=", value, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeIn(List<Date> values) {
            addCriterion("cancel_time in", values, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeNotIn(List<Date> values) {
            addCriterion("cancel_time not in", values, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeBetween(Date value1, Date value2) {
            addCriterion("cancel_time between", value1, value2, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andCancelTimeNotBetween(Date value1, Date value2) {
            addCriterion("cancel_time not between", value1, value2, "cancelTime");
            return (Criteria) this;
        }

        public Criteria andIsPayedIsNull() {
            addCriterion("is_payed is null");
            return (Criteria) this;
        }

        public Criteria andIsPayedIsNotNull() {
            addCriterion("is_payed is not null");
            return (Criteria) this;
        }

        public Criteria andIsPayedEqualTo(Boolean value) {
            addCriterion("is_payed =", value, "isPayed");
            return (Criteria) this;
        }

        public Criteria andIsPayedNotEqualTo(Boolean value) {
            addCriterion("is_payed <>", value, "isPayed");
            return (Criteria) this;
        }

        public Criteria andIsPayedGreaterThan(Boolean value) {
            addCriterion("is_payed >", value, "isPayed");
            return (Criteria) this;
        }

        public Criteria andIsPayedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_payed >=", value, "isPayed");
            return (Criteria) this;
        }

        public Criteria andIsPayedLessThan(Boolean value) {
            addCriterion("is_payed <", value, "isPayed");
            return (Criteria) this;
        }

        public Criteria andIsPayedLessThanOrEqualTo(Boolean value) {
            addCriterion("is_payed <=", value, "isPayed");
            return (Criteria) this;
        }

        public Criteria andIsPayedIn(List<Boolean> values) {
            addCriterion("is_payed in", values, "isPayed");
            return (Criteria) this;
        }

        public Criteria andIsPayedNotIn(List<Boolean> values) {
            addCriterion("is_payed not in", values, "isPayed");
            return (Criteria) this;
        }

        public Criteria andIsPayedBetween(Boolean value1, Boolean value2) {
            addCriterion("is_payed between", value1, value2, "isPayed");
            return (Criteria) this;
        }

        public Criteria andIsPayedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_payed not between", value1, value2, "isPayed");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusIsNull() {
            addCriterion("delete_status is null");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusIsNotNull() {
            addCriterion("delete_status is not null");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusEqualTo(Integer value) {
            addCriterion("delete_status =", value, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusNotEqualTo(Integer value) {
            addCriterion("delete_status <>", value, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusGreaterThan(Integer value) {
            addCriterion("delete_status >", value, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("delete_status >=", value, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusLessThan(Integer value) {
            addCriterion("delete_status <", value, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusLessThanOrEqualTo(Integer value) {
            addCriterion("delete_status <=", value, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusIn(List<Integer> values) {
            addCriterion("delete_status in", values, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusNotIn(List<Integer> values) {
            addCriterion("delete_status not in", values, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusBetween(Integer value1, Integer value2) {
            addCriterion("delete_status between", value1, value2, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andDeleteStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("delete_status not between", value1, value2, "deleteStatus");
            return (Criteria) this;
        }

        public Criteria andRefundStsIsNull() {
            addCriterion("refund_sts is null");
            return (Criteria) this;
        }

        public Criteria andRefundStsIsNotNull() {
            addCriterion("refund_sts is not null");
            return (Criteria) this;
        }

        public Criteria andRefundStsEqualTo(Integer value) {
            addCriterion("refund_sts =", value, "refundSts");
            return (Criteria) this;
        }

        public Criteria andRefundStsNotEqualTo(Integer value) {
            addCriterion("refund_sts <>", value, "refundSts");
            return (Criteria) this;
        }

        public Criteria andRefundStsGreaterThan(Integer value) {
            addCriterion("refund_sts >", value, "refundSts");
            return (Criteria) this;
        }

        public Criteria andRefundStsGreaterThanOrEqualTo(Integer value) {
            addCriterion("refund_sts >=", value, "refundSts");
            return (Criteria) this;
        }

        public Criteria andRefundStsLessThan(Integer value) {
            addCriterion("refund_sts <", value, "refundSts");
            return (Criteria) this;
        }

        public Criteria andRefundStsLessThanOrEqualTo(Integer value) {
            addCriterion("refund_sts <=", value, "refundSts");
            return (Criteria) this;
        }

        public Criteria andRefundStsIn(List<Integer> values) {
            addCriterion("refund_sts in", values, "refundSts");
            return (Criteria) this;
        }

        public Criteria andRefundStsNotIn(List<Integer> values) {
            addCriterion("refund_sts not in", values, "refundSts");
            return (Criteria) this;
        }

        public Criteria andRefundStsBetween(Integer value1, Integer value2) {
            addCriterion("refund_sts between", value1, value2, "refundSts");
            return (Criteria) this;
        }

        public Criteria andRefundStsNotBetween(Integer value1, Integer value2) {
            addCriterion("refund_sts not between", value1, value2, "refundSts");
            return (Criteria) this;
        }

        public Criteria andReduceAmountIsNull() {
            addCriterion("reduce_amount is null");
            return (Criteria) this;
        }

        public Criteria andReduceAmountIsNotNull() {
            addCriterion("reduce_amount is not null");
            return (Criteria) this;
        }

        public Criteria andReduceAmountEqualTo(BigDecimal value) {
            addCriterion("reduce_amount =", value, "reduceAmount");
            return (Criteria) this;
        }

        public Criteria andReduceAmountNotEqualTo(BigDecimal value) {
            addCriterion("reduce_amount <>", value, "reduceAmount");
            return (Criteria) this;
        }

        public Criteria andReduceAmountGreaterThan(BigDecimal value) {
            addCriterion("reduce_amount >", value, "reduceAmount");
            return (Criteria) this;
        }

        public Criteria andReduceAmountGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("reduce_amount >=", value, "reduceAmount");
            return (Criteria) this;
        }

        public Criteria andReduceAmountLessThan(BigDecimal value) {
            addCriterion("reduce_amount <", value, "reduceAmount");
            return (Criteria) this;
        }

        public Criteria andReduceAmountLessThanOrEqualTo(BigDecimal value) {
            addCriterion("reduce_amount <=", value, "reduceAmount");
            return (Criteria) this;
        }

        public Criteria andReduceAmountIn(List<BigDecimal> values) {
            addCriterion("reduce_amount in", values, "reduceAmount");
            return (Criteria) this;
        }

        public Criteria andReduceAmountNotIn(List<BigDecimal> values) {
            addCriterion("reduce_amount not in", values, "reduceAmount");
            return (Criteria) this;
        }

        public Criteria andReduceAmountBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("reduce_amount between", value1, value2, "reduceAmount");
            return (Criteria) this;
        }

        public Criteria andReduceAmountNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("reduce_amount not between", value1, value2, "reduceAmount");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIsNull() {
            addCriterion("order_type is null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIsNotNull() {
            addCriterion("order_type is not null");
            return (Criteria) this;
        }

        public Criteria andOrderTypeEqualTo(Byte value) {
            addCriterion("order_type =", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotEqualTo(Byte value) {
            addCriterion("order_type <>", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeGreaterThan(Byte value) {
            addCriterion("order_type >", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("order_type >=", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeLessThan(Byte value) {
            addCriterion("order_type <", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeLessThanOrEqualTo(Byte value) {
            addCriterion("order_type <=", value, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeIn(List<Byte> values) {
            addCriterion("order_type in", values, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotIn(List<Byte> values) {
            addCriterion("order_type not in", values, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeBetween(Byte value1, Byte value2) {
            addCriterion("order_type between", value1, value2, "orderType");
            return (Criteria) this;
        }

        public Criteria andOrderTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("order_type not between", value1, value2, "orderType");
            return (Criteria) this;
        }

        public Criteria andCloseTypeIsNull() {
            addCriterion("close_type is null");
            return (Criteria) this;
        }

        public Criteria andCloseTypeIsNotNull() {
            addCriterion("close_type is not null");
            return (Criteria) this;
        }

        public Criteria andCloseTypeEqualTo(Byte value) {
            addCriterion("close_type =", value, "closeType");
            return (Criteria) this;
        }

        public Criteria andCloseTypeNotEqualTo(Byte value) {
            addCriterion("close_type <>", value, "closeType");
            return (Criteria) this;
        }

        public Criteria andCloseTypeGreaterThan(Byte value) {
            addCriterion("close_type >", value, "closeType");
            return (Criteria) this;
        }

        public Criteria andCloseTypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("close_type >=", value, "closeType");
            return (Criteria) this;
        }

        public Criteria andCloseTypeLessThan(Byte value) {
            addCriterion("close_type <", value, "closeType");
            return (Criteria) this;
        }

        public Criteria andCloseTypeLessThanOrEqualTo(Byte value) {
            addCriterion("close_type <=", value, "closeType");
            return (Criteria) this;
        }

        public Criteria andCloseTypeIn(List<Byte> values) {
            addCriterion("close_type in", values, "closeType");
            return (Criteria) this;
        }

        public Criteria andCloseTypeNotIn(List<Byte> values) {
            addCriterion("close_type not in", values, "closeType");
            return (Criteria) this;
        }

        public Criteria andCloseTypeBetween(Byte value1, Byte value2) {
            addCriterion("close_type between", value1, value2, "closeType");
            return (Criteria) this;
        }

        public Criteria andCloseTypeNotBetween(Byte value1, Byte value2) {
            addCriterion("close_type not between", value1, value2, "closeType");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNull() {
            addCriterion("is_delete is null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIsNotNull() {
            addCriterion("is_delete is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeleteEqualTo(Boolean value) {
            addCriterion("is_delete =", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotEqualTo(Boolean value) {
            addCriterion("is_delete <>", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThan(Boolean value) {
            addCriterion("is_delete >", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteGreaterThanOrEqualTo(Boolean value) {
            addCriterion("is_delete >=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThan(Boolean value) {
            addCriterion("is_delete <", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteLessThanOrEqualTo(Boolean value) {
            addCriterion("is_delete <=", value, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteIn(List<Boolean> values) {
            addCriterion("is_delete in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotIn(List<Boolean> values) {
            addCriterion("is_delete not in", values, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteBetween(Boolean value1, Boolean value2) {
            addCriterion("is_delete between", value1, value2, "isDelete");
            return (Criteria) this;
        }

        public Criteria andIsDeleteNotBetween(Boolean value1, Boolean value2) {
            addCriterion("is_delete not between", value1, value2, "isDelete");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}